import {
  getUserList,
  searchUserList,
  totalNumUser,
  delUser,
  resetUserPwd,
  updateUser,
  regUser,
} from "@/api"; //配置好axios的大项目
//数据
const state = {
  // 用户管理展示的数据
  userList: null,
  // 获取用户数量的提示信息
  totalUser: null,
  // 删除用户后的提示
  delUserMsg: null,
  // 修改密码的提示
  resetPwdMsg: null,
  // 修改用户信息的提示
  updateUserMsg: null,
  // 注册用户的提示
  regUserMsg: null,
};
//mutions是唯一修改state的地方
const mutations = {
  // 页面刷新获取用户信息
  GETUSERLISTS(state, data) {
    state.userList = data;
  },
  // 页面刷新搜索用户信息
  SEARCHUSERLISTS(state, data) {
    state.userList = data;
  },
  // 获取用户数量
  TOTALUSERLISTS(state, data) {
    state.totalUser = data;
  },
  // 获取用户数量
  DELUSERS(state, data) {
    state.delUserMsg = data;
  },
  // 获取修改密码后的提示
  RESETUSERPWDS(state, data) {
    state.resetPwdMsg = data;
  },
  // 获取修改用户信息之后的提示
  UPDATEUSERS(state, data) {
    state.updateUserMsg = data;
  },
  // 获取注册用户成功之后的提示
  REGUSERS(state, data) {
    state.regUserMsg = data;
  },
};
//action|用户处理派发action地方的，可以书写异步语句、自己逻辑地方
const actions = {
  // 判断获取用户信息是否成功
  async getUserLists({ commit }, queryInfo) {
    let result = await getUserList(queryInfo);
    if (result.meta.status == 200) {
      commit("GETUSERLISTS", result.data);
    }
  },
  // 判断搜索用户信息是否成功
  async searchUserLists({ commit }, keyWord) {
    let result = await searchUserList(keyWord);
    //console.log(result);
    if (result.meta.status == 200) {
      commit("SEARCHUSERLISTS", result.data);
    }
  },
  // 判断获取用户数量是否成功
  async totalUserLists({ commit }) {
    let result = await totalNumUser();
    //console.log(result);
    if (result.meta.status == 200) {
      commit("TOTALUSERLISTS", result.data);
    }
  },
  // 判断删除用户是否成功
  async delUsers({ commit }, id) {
    let result = await delUser(id);
    if (result.meta.status == 200) {
      commit("DELUSERS", result.data);
    }
  },
  // 判断修改用户密码是否成功
  async resetUserPwds({ commit }, passForm) {
    let result = await resetUserPwd(passForm);
    if (result.meta.status == 200) {
      commit("RESETUSERPWDS", result.data);
    }
  },
  // 判断修改用户信息是否成功
  async updateUsers({ commit }, userInfoForm) {
    let result = await updateUser(userInfoForm);
    if (result.meta.status == 200) {
      commit("UPDATEUSERS", result.data);
    }
  },
  // 判断注册用户是否成功
  async regUsers({ commit }, RegForm) {
    let result = await regUser(RegForm);
    if (result.meta.status == 200) {
      commit("REGUSERS", result.data);
    }
  },
};
//计算属性
const getters = {};
export default {
  namespaced: true,
  state,
  mutations,
  actions,
  getters,
};
